package com.lizhivscaomei.wms.domain.entity.sku.vo;

import lombok.Data;

import java.sql.Date;
import java.time.LocalDate;

/**
 * 物料信息
 *
 * @author lizhi
 */
@Data
public class Material {

    /**
     * 物料编码
     */
    private String matCode;
    /**
     * 物料名称
     */
    private String matName;
    /**
     * 标准数量单位
     */
    private String matStdUnit;
    /**
     * 有效期
     */
    private long validPeriod;

    /**
     * 批次
     */
    private String matBatch;
    /**
     * 生产日期
     */
    private Date matProduceDate;

    /**
     * 失效时间
     *
     * @return 失效时间
     */
    public Date getDeadLineDate() {
        return Date.valueOf(this.matProduceDate.toLocalDate().plusDays(this.validPeriod));
    }

    /**
     * @return 剩余有效天数
     */
    public long getRemainDays() {
        return this.validPeriod - (LocalDate.now().toEpochDay() - this.matProduceDate.toLocalDate().toEpochDay());
    }
}
